package com.sz.biz.common.approval;

import com.sz.common.base.i18n.I18nMessages;

/**
 * Package: com.sz.biz.common.approval <br>
 * Function: TODO: ADD FUNCTION <br>
 * Author: Charles. <br>
 * Date: 2017-11-19 12:45:00.
 */
public interface IApprovalStatus {
    /**
     * 获取审核状态的值
     * @return
     */
    int getValue();

    /**
     * 获取状态名称
     * @return
     */
    String getName();

    /**
     * 判断当前状态是否可以变换到目标状态
     * @param status
     * @return
     */
    boolean isTransitive(IApprovalStatus status);

    /**
     * 获取审核动作名称
     * @param i18nMessages
     * @param approval
     * @return
     */
    String getActionName(I18nMessages i18nMessages, Approval approval);
}
